Un GURU nella ROM

di Maurizio Bonomi

Eccoci ad affrontare una prova che combina componenti sia software che hardware e che può interessare solo agli attuali o futuri (se intendono acquistare) possessori di controller SCSI GVP.
La GVP dopo un periodo di forte "imbarazzo" finanziario (meglio dire "fallimento") è stata assorbita dall'amico Tony Ianiri (il capo della Power Computing), il quale ha promesso di riaprire un canale di vendita e assistenza di tutti i prodotti GVP.
Ora che la mitica Great Valley Product risorgerà ecco uscire un prodotto dedicato alla famiglia dei controller SCSI: le GURU ROM. Ralph Babel, l'autore di questa sorta di espansione, è il principale artefice del primo driver SCSI della GVP: il gvpscsi.device.
Ma vediamo nel particolare questo nuovo pacchetto, fornitoci gentilmente dal sig. Marco Salmini della DB-Line (a cui va il ns ringraziamento per la celerità della consegna).
Le GURU ROM provengono all'interno di una piccola ma elegante scatola che segue il tipico stile dei prodotti della tedesca S.O.Schatztruhe. All'interno troviamo un manuale, una busta antistatica con le ROM, un dischetto e la cartolina di registrazione.
La prima graditissima sorpresa è stata quella di trovare il manuale in uno stupendo e chiaro inglese (nonostante le origini teutoniche). Questa prima scoperta ci ha entusiasmato parecchio (in quanto credevamo di trovare il solito "pacco" tedesco) tanto da invogliarci ad un'approfondita lettura dell'intero manuale (tra l'altro scritto dallo stesso Ralph Babel, ottimo programmatore ma anche ottimo e simpatico scrittore). La parte hardware del pacchetto è composta da una piccola schedina con una EPROM (siglata M27C256B-15FI) prodotta dall'italiana ST, su cui troviamo un'etichetta recante la dicitura "GURU-ROM version 6.10", installata in uno zoccolo a "tulipano". Nella faccia sottostante troviamo un piccolo chip (una porta logica) che dovrebbe (condizionale d'obbligo in quanto il manuale non ne parla) garantire la compatibilità per tutte le schede ospite. Questa ROM può essere installata su i seguenti controllers GVP:
- SCSI host adapter IMPACT serie-II per A2000/A3000/A4000 con o senza espansione RAM, ovvero "A2000HC+8", "A4008" e "A2000HC".
- SCSI host adapter IMPACT serie 2 per A500/A500+ tipo "A500HD Series-II".
- Accelleratrici "A530 Turbo" per A500/A500+.
- Accelleratrici "Combo '030" per A2000.
- Accelleratrici "G-Force '030" per A2000.
- Accelleratrici "G-Force '040" per A2000.
- SCSI host adapter "Fang" per schede A1200.
Noi abbiamo effettuato la prova sulla seguente macchina così configurata: A2000 release 4.4, 1 Mb CHIP ECS, accelleratrice Over-the-Top 68040-30 con 8 Mb 32 bit RAM, controller A2000HC+8 con 2 Mb FAST 16 bit, scheda grafica Picasso e Kickstart 3.1 su ROM. Al controller abbiamo attaccato tre devices SCSI: un QUANTUM LP52S "CCS" (un protocollo compatibile SCSI-II nato come "intermedio" tra lo SCSI-I e, appunto, lo SCSI-II) da 50 Mbytes, un CD-ROM SCSI-I NEC CDR210 doppia velocità e un FUJITSU M2684-512 SCSI-II da 510 Mbytes. Sul dischetto allegato (a bassa densità) troviamo tantissime utility e programmi di settaggio che vedremo più avanti.
Una prima nota da segnalare è il nuovo nome del driver SCSI che non si chiama più GVPSCSI ma bensì OMNISCSI.DEVICE.

L'installazione delle GURU ROM è abbastanza semplice. Dato che è impensabile che qualcuno di voi abbia un Amiga con la scheda GVP ancora in garanzia (tranne qualche caso isolato) potete farlo anche voi, facendo attenzione a seguire alcune regole di precauzione. Manuale alla mano si localizza il controller e lo si "estirpa" dallo slot facendo attenzione a non strappare né i fili dei led né piattine SCSI varie. Con un cacciavite piatto si toglie la vecchia ROM (nel nostro caso una FAAASTROM 4 versione 3.15) facendo leva su entrambi i lati dello zoccolo. Fatto questo e annotato il verso dell'integrato (la tacca a lato del chip fa da riferimento) si inserisce la schedina nello zoccolo premendo con discreta decisione (senza martellare o spingere come dei forsennati). Prima di rimettere la scheda al suo posto, leggendo il manuale, bisogna configurare alcuni ponticelli in modo da adattare il nostro controller al nuovo driver. Sul manuale viene presentata una lista precisa di tutte le configurazioni. Una delle particolarità di questo nuovo driver è la capacità di correggere i bug dovuti al chip SCSI presente sul controller; nel caso il vostro controller possieda il chip WD o AMD 33C93 non siete fortunatissimi (siete anche in pochi) in quanto possiede una quantità industriale di bug (infatti il manuale avverte che con alcune configurazioni si possono avere problemi), altrimenti dovrebbe avere installato il WD o AMD 33C93A in versione DIP o SMD che risulta più stabile e meno "buggato". L'ultimo passo dell'installazione prevede il riassemblaggio delle parti hardware e il successivo test di verifica della funzionalità. Nel caso succeda il solito problema del led fisso e dello schermo "nero come il funerale" il manuale propone diverse domande con relative soluzioni. Nel nostro caso la nuova configurazione ci ha dato qualche momento di "terrore", in quanto, dopo aver riconosciuto l'ultima unità, il led è rimasto lampeggiante per quasi un minuto. In questo lasso di tempo ne abbiamo pensate di tutti i colori (non ve le elenchiamo per evitare di diffondere panico tra la folla), poi Amiga ha fatto il tanto sospirato boot. Infatti abbiamo scoperto che l'RDB delle nostre unità SCSI non possedeva diversi flag (dato che il vecchio driver non li gestiva o li riconosceva parzialmente) come gli importantissimi Last Disk e Last LUN. A causa di queste manchevolezze l'OMNISCSI.DEVICE al momento del boot cercava unità in tutti gli ID di tutti i 6 LUN (a casa nostra sei per sei fa trentasei, trentasei lampeggi a vuoto!). Sembrava fosse un problema un po' troppo particolare ed eravamo convinti di non trovare la soluzione sul manuale. Invece esiste un paragrafo apposta che fornisce un esauriente spiegazione del fenomeno con conseguente soluzione pratica. Ralph Babel ci ha stupito ancora. Dunque, questo problema era il segno tangibile che non bastava installare la ROM ma bisognava intervenire con degli aggiustamenti tramite il ricco software di controllo in dotazione. Il dischetto contiene le versioni nuove dei seguenti comandi (di solito forniti insieme al controller della GVP): GVPCPUCTRL e GVPSCSICTRL. In più fornisce altri tre comandi di controllo: OMNISCSICTRL, RDBCTRL e FFSPatch. Per chi non fosse abituato all'uso della CLI e preferisce l'uso di ambienti a gadgets, nel cassetto BONUS può trovare il programma OMNISCSIPREFS che fornisce un totale controllo delle opzioni dei programmi precedenti. Purtroppo, essendo una sorta di regalo, non esiste alcun riferimento a questo programma all'interno del manuale, ma troviamo comunque un ottimo file .guide insieme all'eseguibile. L'installazione avviene a mano; i programmi devono essere copiati in una delle directory del nostro path di ricerca (come per esempio C:). Tramite queste utility si può ricostruire un RDB completo e senza omissioni; nel nostro caso, seguendo i consigli del manuale, abbiamo specificato i due flag mancanti (LastDisk e LastLUN) tramite il pericoloso (in quanto non tiene conto di eventuali limiti dei dischi fissi) RDBCTRL. Prima di usare questo comando conviene dare una lettura approfondita al manuale in modo da non incappare in qualche guaio irreversibile. Con FFSPatch si può creare una versione migliore del FastFileSystem più compatibile con le unità removibili (SYQUEST o IOMEGA ZIP) e con i drive ad alta-densità (quello presente su A3000 e A4000). Per quanto riguarda gli altri comandi (di uso più specifico) il manuale fornisce delle esaurienti e approfondite spiegazioni con esempi e consigli pratici. Se si preferisce usare il programma OMNISCSIPREFS bisogna ricordarsi di richiamare il file .prefs ad ogni boot tramite il comando:

OMNISCSPREFS >NIL:  USE


in modo da attivare subito le nostre modifiche. Queste modifiche possono essere fondamentali per ottenere un vistoso aumento delle prestazioni. Tramite infatti i due comandi OMNISCSICTRL e GVPSCSICTRL possiamo attivare diverse funzioni che permettono al controller di "esprimere" al meglio le sue capacità di gestione dei dischi. Una di queste è sicuramente il flag che imposta il trasferimento sincrono da/per il drive. In queste stesse pagine trovate una tabella che dimostra quali sono i vantaggi di questa opzione. In tutti i casi bisogna comunque fare buon uso del manuale, in modo da non incorrere in malfunzionamente e/o blocchi improvvisi. Per chi vuole farsi del male o ha dei motivi ben precisi di compatibilità può disabilitare il DMA e impostare il modo PIO (quello usato dai controller IDE, che non sono DMA). In questo caso si può assistere ad un calo prestazionale sia in termini di velocità del processore che delle unità SCSI. Per ultimo, sul dischetto troviamo un HD-Toolbox già configurato per funzionare con la nuova device. Ricordatevi di specificare fino a dove HD-Toolbox deve fare lo scanning del bus SCSI, soprattutto se avete poche unità collegate. Questo programma, infatti, non rispetta i flag LastDisk del RDB e rimane un bel minuto abbondante alla ricerca dell'unita perduta. Dopodiché vi presenta una lista piena di UNKNOWN corrispondenti agli indirizzi più disparati.

Questa e' solo una parte dell'articolo pubblicato su Enigma Amiga Run di Marzo numero 62. E' possibile ricevere l'arretrato chiamando il numero (02)38.01.00.30 tutti i giorni dalle ore 10.00 alle 12.30